home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 2009-10-07 | 62.1 KB | 1,623 lines
// Highlightmode text category recognizer configuration // // Author : Christoph Brzozowski // Created: 09.03.2009 // //----------------------------------------------------------------------------- // // GRAMMAR FOR THE SCENE DESCRIPTION LANGUAGE // // [ ] means optional // // // EVENT_SEQUENCE := EVENT // | EVENT_SEQUENCE ';' EVENT // // EVENT := EVENT_DESCRIPTOR [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION] // | '(' EVENT_LIST ')' [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION] // | '~(' EVENT_LIST ')' [PLAYER_TAGS] [SEARCH_DEPTH] [CONDITION] // // SEARCH_DEPTH := '{t' INTEGER '}' -> For time based search in seconds // | '{e' INTEGER '}' -> For event based search in number of events // // CONDITION := '[' CONDITION_DECLARATION ']' // // PLAYER_TAGS := '$' PLAYER_TAG PLAYER_TAG // // PLAYER_TAG := 'A' | 'B' | 'C' | 'D' | 'a' | 'b' | 'c' | 'd' | '*' // // EVENT_LIST := EVENT_DESCRIPTOR // | EVENT_LIST ',' EVENT_DESCRIPTOR // // EVENT_DESCRIPTOR := EVENT_NAME [FLAGS] // // EVENT_FLAGS := '<' [HALF_FLAGS] FLAG_LIST '>' // | '<' [HALF_FLAGS] '~' FLAG_LIST '>' // // HALF_FLAGS := '%' FLAG_LIST '%' // // FLAG_LIST := FLAG_NAME // | FLAG_LIST '|' FLAG_NAME // //----------------------------------------------------------------------------- // // EVENTS: // // EVENT_NULL // EVENT_SHOT // EVENT_PASS // EVENT_CLEARANCE // EVENT_CROSS // EVENT_GOAL_SCORED // EVENT_BALLOUT_CORNER // EVENT_BALLOUT_THROWIN // EVENT_BALLOUT_GOALKICK // EVENT_CORNER_TAKEN // EVENT_THROWIN_TAKEN // EVENT_FREEKICK_SHOT // EVENT_FREEKICK_PASS // EVENT_TACKLE // EVENT_FOUL // EVENT_OFFSIDE // EVENT_PENALTYKICK // EVENT_CHANGE_POSSESSION // EVENT_SUBSTITUTION // EVENT_DRIBBLE // EVENT_GK_SAVE // EVENT_GK_PUNCH // EVENT_GK_CATCH // EVENT_HEADER_WON // EVENT_FUMBLE // EVENT_START_MATCH // EVENT_START_HALF // EVENT_END_HALF // EVENT_END_MATCH // //----------------------------------------------------------------------------- // // EVENT FLAGS: // // FLAG_NULL // FLAG_SUCCESSFUL // FLAG_HEADED // FLAG_GOAL_SCORED // FLAG_GOAL_OWN_GOAL // FLAG_HIT_POST_OR_CROSSBAR // FLAG_BLOCKED // FLAG_SHOT_MISSED // FLAG_GK_SAVE // FLAG_GK_PUNCH // FLAG_GK_CATCH // FLAG_FIRST_TOUCH // FLAG_KEY_PASS // FLAG_ASSIST // FLAG_POSSESSION_CHANGE_TEAM // FLAG_INTERCEPTION // FLAG_LENGTH_SHORT // FLAG_LENGTH_MEDIUM // FLAG_LENGTH_LONG // FLAG_DIRECTION_FORWARD // FLAG_DIRECTION_SIDEWAYS // FLAG_DIRECTION_BACKWARDS // FLAG_END_IN_DEFENSIVE_THIRD // FLAG_END_IN_MIDFIELD_THIRD // FLAG_END_IN_ATACK_THIRD // FLAG_END_INSIDE_OPP_BOX // FLAG_YELLOW_CARD // FLAG_SECOND_YELLOW // FLAG_RED_CARD // FLAG_BALL_OUT_THROWIN // FLAG_BALL_OUT_CORNER // FLAG_BALL_OUT_GOALKICK // FLAG_WAITING_2ND_PASS_DATA // //----------------------------------------------------------------------------- // // EVENT EXTRA FLAGS: // // EFLAG_NULL // EFLAG_ATTACKING_MOVE // EFLAG_INCISIVE_MOVE // EFLAG_START_IN_OWN_BOX // EFLAG_START_IN_OPPOSITE_BOX // EFLAG_END_IN_OWN_BOX // EFLAG_END_IN_SENDER_OWN_BOX // EFLAG_SUBST_INJURED // EFLAG_GK_SAVE_HARD // EFLAG_PK_GOAL // //----------------------------------------------------------------------------- // // HALF FLAGS: // // 1ST First half // 2ND Second half // 3RD Third half // 4TH Fourth half // PSH Penalty shootout // ALL All halfs // //----------------------------------------------------------------------------- // // BALL TRAJECTORY FLAGS: // // BOUNCE Ball bounced // IN_TARGET Ball hit the target // OFF_TARGET Ball missed the target // CORNER_BL Ball hit the bottom left corner // CORNER_BR Ball hit the bottom right corner // CORNER_TL Ball hit the top left corner // CORNER_TR Ball hit the top right corner // HIT_POST Ball hit a post // HIT_BAR Ball hit the bar // OVER_THE_BAR Ball went over the bar // LEFT_SIDE Ball trajectory's end point layed on the left side of the field relative to the opponents goal // RIGHT_SIDE Ball trajectory's end point layed on the right side of the field relative to the opponents goal // //----------------------------------------------------------------------------- // // PLAYER POSITIONAL FLAGS: // // OPP_SIDE Player on opponent side // ON_LEFT_SIDE Player on left half of the field // ON_RIGHT_SIDE Player on right half of the field // ON_CENTER PLayer on center of the field // IN_GOAL Player in goal / net // IN_GOALIE_BOX Player in goalie box // IN_PENALTY_BOX Player in penalty box // IN_CIRCLE Player in circle // AT_LEFT_CORNER Player at left playfield corner // AT_RIGHT_CORNER Player at right playfield corner // AT_PEN_SPOT Player at penalty spot // ONE_ON_ONE_WITH_GK No defenders between player and opp goalkeeper // ON_GOAL_LINE Player on goal line // IN_FRONT_OF_PENBOX Player is in front of penalty box ground line // BEHIND_PENBOX Player is behind the penalty box ground line // //----------------------------------------------------------------------------- // // PLAYER FORMATION POSITIONS: // // NONE // GK Goal keeper // RB // LB // CD // SW // RWB // LWB // ANC // DM // RM // LM // CM // RW // LW // AM // CF // ST // //----------------------------------------------------------------------------- // PLAYER SIMPLIFIED FORMATION POSITIONS: // // GOL Goal keeper // DEF Defender // MID Midfielder // ATK Striker / Attacker // //----------------------------------------------------------------------------- // // ENTITIES: // // Ball Ball ( Ball entity ) // Player1 Event Player 1 ( Player entity ) // Player2 Event Player 2 ( Player entity ) // Goalie Goalie of the team of Player 1 ( Player entity ) // GoalieOpp Goalie of the opponent team of Player 1 ( Player entity ) // // Closest players: * might be Player1, Player2, Goalie or GoalieOpp // // _1stClosestOwnPlayerTo* 1st closest own player to * ( Player entity ) // _2ndClosestOwnPlayerTo* 2nd closest own player to * ( Player entity ) // _3rdClosestOwnPlayerTo* 3rd closest own player to * ( Player entity ) // _1stClosestOppPlayerTo* 1st closest opponent player to * ( Player entity ) // _2ndClosestOppPlayerTo* 2nd closest opponent player to * ( Player entity ) // _3rdClosestOppPlayerTo* 3rd closest opponent player to * ( Player entity ) // //----------------------------------------------------------------------------- // !!! ALL DISTANCES ARE GIVEN IN METERS !!! //----------------------------------------------------------------------------- // // BALL ENTITY ATTRIBUTES: // // Flags Trajectory flags // AvgSpeed Average speed // Height Height of the apex of the ball's trajectory // Angle Angle of the line from trajectory start point to the apex point relative to the ground // Length Length of the trajectory projected onto the ground // DistanceToTarget Distance to the target / net // //----------------------------------------------------------------------------- // // PLAYER ENTITY ATTRIBUTES: // // Flags Player positional flags // Position Player's formation position // PositionSimple Player's formation position ( simplified ) // Distance Euclidean interplayer distance ( valid only, when querying closest players ) // DistanceToOppGoal Euclidean distance to the player's opponent's goal // ProjDistanceToOppGoal Distance to the player's opponent's goal projected onto the longer side of the field // DistanceToOppPenSpot Euclidean distance to the player's opponent's penalty spot // ProjDistanceToOppPenSpot Distance to the player's opponent's penalty spot projected onto the longer side of the field // DistanceToCenter Euclidean distance of the player to the center of the field // ProjDistanceToCenter Distance of the player to the center of the field projected onto the longer side of the field // //----------------------------------------------------------------------------- // // CONDITION PREDICATES: // // SET Checks, whether the specified flags are set // NOT_SET Checks, whether the specified flags are not set // INVSET Checks, whether any flags are set but the specified ones // EQU Checks, whether the attribute value is equal to the condition parameter // NEQ Checks, whether the attribute value differs from the condition parameter // LE Checks, whether the attribute value is smaller than the condition parameter // GE Checks, whether the attribute value is larger than the condition parameter // LEQ Checks, whether the attribute value is smaller or equal to the condition parameter // GEQ Checks, whether the attribute value is greater or equal to the condition parameter // INS Checks, whether the attribute value lies inside a given closed range // BET Checks, whether the attribute value lies inside a given closed range // OUT Checks, whether the attribute value lies outside a given closed range // INS_LO Checks, whether the attribute value lies inside a given range, which is closed to the lower bound but open to the upper bound // IS Checks, whether the attribute is of some kind // //----------------------------------------------------------------------------- // // ACTION DEFINITION: // // [ ] means optional // // BEGIN( __ACTION_NAME__ ) // Where the action name must start with the "AC_" prefix // ID = #INTEGER# // Action id ( must be the same as defined in the "Rules - ActionSequence.txt" text block editor configuration file ) // PRIORITY = #INTEGER# // Action priority ( the higher the value, the higher the priority ) // PATTERN_1 = #STRING# // ... // Pattern definitions using the scene description language // PATTERN_N = #STRING# // FLAG_MODIFIERS = #STRING# // Flag modifiers for previous event ( see below ) // PLAYER_1 = PLAYER_TAG // PLAYER_2 = PLAYER_TAG // PLAYER_A = TEXT_MODE_PLAYER_IDENTIFIER_LIST // ... // PLAYER_Z = TEXT_MODE_PLAYER_IDENTIFIER_LIST // CONDITION_MODIFIERS = #STRING# // Condition modifier ( condition declaration, which is merged with the condition of the previous event by ANDing them ) // END // // FLAG_MODIFIERS := FLAG_MODIFIER // | FLAG_MODIFIERS ';' FLAG_MODIFIER // // FLAG_MODIFIER := EVENT_NAME ':' '+' FLAGS [ '-' FLAGS ] // // FLAGS := FLAG_NAME // | FLAGS '|' FLAG_NAME // // CONDITION_MODIFIERS := CONDITION_MODIFIER // | CONDITION_MODIFIERS ';' FLAG_MODIFIER // // TEXT_MODE_PLAYER_IDENTIFIER_LIST := TEXT_MODE_PLAYER_IDENTIFIER // | TEXT_MODE_PLAYER_IDENTIFIER_LIST "," TEXT_MODE_PLAYER_IDENTIFIER // // FLAG_MODIFIER := EVENT_NAME ':' CONDITION // //----------------------------------------------------------------------------- // // TEXT MODE PLAYER IDENTIFIERS: // // NONE // AGILE_DEFENDER // ATTACKER // ATTACKER_2 // ATTACKER_SPEED // ATTACKER_TECHNIQUE // ATTACKING_DEFENDER // ATTACKING_MIDFIELDER // BALL_WINNER // BEST // BOX // BUILD_UP_ATTACKER // BUILD_UP_MIDFIELDER // CENTRAL_DEFENDER // COMPLAINING // CORNER_LEFT // CORNER_RIGHT // CROSSES_LEFT // CROSSES_RIGHT // DEFENDING_MIDFIELDER // DIRECT_FREE_KICK // DISTANCE // DIVING // DRIBBLING // FIRST_GOAL // FOULED // FOULED_OPPONENT // FREE_KICK_LEFT // FREE_KICK_RIGHT // GOALKEEPER // GOALKEEPER_ATTACKING // HEADER // HEADER_DEFENDING // HEADER_SET_PIECE // INJURED // LAST_GOAL // LEADER // LEFT_ATTACKER // LEFT_BUILD_UP_ATTACKER // LEFT_DEFENDER // LEFT_MIDFIELDER // LONG_INJURED_BENCH // LONG_INJURED_FIRST_ELEVEN // NEW_1 // NEW_2 // OLD_CLUB // PENALTY_TAKER // PLAYS_FOR_TIME // RED_CARD_1 // REPLACED_1 // REPLACED_2 // RETURNS_1 // RETURNS_2 // RIGHT_ATTACKER // RIGHT_BUILD_UP_ATTACKER // RIGHT_DEFENDER // RIGHT_MIDFIELDER // SUBBED_IN // SUBBED_OUT // SUPERSTAR // TECHNICAL_PROBLEMS // THROUGH_PASS // WARNED // WEAKEST // WING_ATTACKER // WING_DEFENDER // WING_MIDFIELDER // WITH_FOUL // WITH_FOUL_OPPONENT // YELLOW // YELLOW_RED_CARD_1 // //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- // General configuration //----------------------------------------------------------------------------- BEGIN(CONFIG) // List of enabled text blocks //ENABLED_TEXT_BLOCKS = 3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3535,3546,3547,3548,3549,3550,3551,392-396,400-405,1982,1983,3471,3541,1202,3549,1256,19,22,1965,2116,341,3442,3443,3532,3533,1348,1349,1552,1437,1438,1348,1349,601,681,682 ENABLED_TEXT_BLOCKS = 3445, 3446, 3447, 3448, 3449, 3450, 3454, 3455, 3456, 601, 681, 682, 1348, 1349, 3546, 3547, 3548, 1202, 3551, 3550, 19, 22, 1965, 2116, 3441, 3442, 3443, 3532, 3533, 1552, 1437, 1438 END BEGIN(SCENES) // Standard goal BEGIN(TB_#3445) PRIORITY = 16 PATTERN_1 = "EVENT_GOAL_SCORED<%~PSH%~FLAG_GOAL_OWN_GOAL>$AX:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END // Penalty shootout ( goal ) BEGIN(TB_#601) PRIORITY = 24 PATTERN_1 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_PENALTYKICK<%PSH%FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PATTERN_2 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PATTERN_3 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_CATCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PATTERN_4 = "EVENT_GOAL_SCORED<%PSH%~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_PUNCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Penalty shootout ( catched or saved by gk ) BEGIN(TB_#681) PRIORITY = 64 PATTERN_1 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_GK_CATCH<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PATTERN_2 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_GK_SAVE<%PSH%>$X*;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Penalty shootout ( post or bar ) BEGIN(TB_#682) PRIORITY = 32 PATTERN_1 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_PENALTYKICK<%PSH%~FLAG_GOAL_SCORED>$A*{e2}[ ( ( Ball, Flags, SET, OFF_TARGET ) | ( Ball, Flags, SET, HIT_POST ) | ( Ball, Flags, SET, HIT_BAR ) ) ]:>GDIST=Player1" PATTERN_2 = "EVENT_BALLOUT_GOALKICK<%PSH%>;EVENT_PENALTYKICK<%PSH%FLAG_HIT_POST_OR_CROSSBAR>$A*{e2}:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Penalty ( goal ) BEGIN(TB_#601) PRIORITY = 8000 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_PENALTYKICK<FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PATTERN_2 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PATTERN_3 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_CATCH$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PATTERN_4 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_PUNCH$X*;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PATTERN_5 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE$X*;EVENT_CHANGE_POSSESSION$AX;EVENT_PENALTYKICK<FLAG_SUCCESSFUL>$A*:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Penalty ( catched or saved by gk ) BEGIN(TB_#681) PRIORITY = 60000 PATTERN_1 = "EVENT_BALLOUT_GOALKICK;EVENT_GK_CATCH$X*;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PATTERN_2 = "EVENT_BALLOUT_GOALKICK;EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Penalty ( post or bar ) BEGIN(TB_#682) PRIORITY = 40000 PATTERN_1 = "EVENT_BALLOUT_GOALKICK;EVENT_PENALTYKICK<~FLAG_GOAL_SCORED>$A*{e2}[ ( ( Ball, Flags, SET, OFF_TARGET ) | ( Ball, Flags, SET, HIT_POST ) | ( Ball, Flags, SET, HIT_BAR ) ) ]:>GDIST=Player1" PATTERN_2 = "EVENT_BALLOUT_GOALKICK;EVENT_PENALTYKICK<FLAG_HIT_POST_OR_CROSSBAR>$A*{e2}:>GDIST=Player1" PLAYER_1 = A PLAYER_2 = X PLAYER_A = PENALTY_TAKER PLAYER_X = GOALKEEPER END // Free kick ( centre ) BEGIN(TB_#1552) PRIORITY = 64 PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_CENTER ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DIRECT_FREE_KICK END // Free kick ( left ) BEGIN(TB_#1437) PRIORITY = 64 PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_LEFT_SIDE ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = FREE_KICK_LEFT END // Free kick ( right ) BEGIN(TB_#1438) PRIORITY = 64 PATTERN_1 = "EVENT_FREEKICK_SHOT$A*[ ( ( Player1, Flags, SET, ON_RIGHT_SIDE ) & ( Player1, DistanceToOppGoal, LE, 30.0 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = FREE_KICK_RIGHT END END BEGIN(ACTIONS) //----------------------------------------------------------------------------- // Preactions //----------------------------------------------------------------------------- // Throw ins BEGIN( AC_THROW_IN_LEFT ) ID = 124 PRIORITY = 2 PATTERN_1 = "EVENT_THROWIN_TAKEN$B*[ ( Player1, Flags, SET, ON_LEFT_SIDE ) ]" PLAYER_1 = B PLAYER_B = ATTACKER, ATTACKER2 END BEGIN( AC_THROW_IN_RIGHT ) ID = 125 PRIORITY = 2 PATTERN_1 = "EVENT_THROWIN_TAKEN$B*[ ( Player1, Flags, SET, ON_RIGHT_SIDE ) ]" PLAYER_1 = B PLAYER_B = ATTACKER, ATTACKER2 END // Crosses BEGIN( AC_HIGH_CROSS ) ID = 1 PRIORITY = 2 PATTERN_1 = "EVENT_CROSS$B*[ ( Ball, Height, GE, 1.60 ) ]" PLAYER_1 = B PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT END BEGIN( AC_HIGH_CROSS_AGAINST_DEFENDER ) ID = 2 PRIORITY = 3 PATTERN_1 = "EVENT_CROSS$B*[ ( ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1" PLAYER_1 = B PLAYER_2 = Y PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT PLAYER_Y = RIGHT_DEFENDER, LEFT_DEFENDER END BEGIN( AC_LOW_CROSS ) ID = 3 PRIORITY = 2 PATTERN_1 = "EVENT_CROSS$B*[ ( Ball, Height, LE, 0.80 ) ]" PLAYER_1 = B PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT END BEGIN( AC_LOW_CROSS_AGAINST_DEFENDER ) ID = 4 PRIORITY = 3 PATTERN_1 = "EVENT_CROSS$B*[ ( ( Ball, Height, LE, 0.8 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1" PLAYER_1 = B PLAYER_2 = Y PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT PLAYER_Y = RIGHT_DEFENDER, LEFT_DEFENDER END BEGIN( AC_CROSS_EARLY ) ID = 137 PRIORITY = 4 PATTERN_1 = "EVENT_CROSS$B*[ ( Player1, Flags, SET, IN_FRONT_OF_PENBOX ) ]" PLAYER_1 = B PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT END BEGIN( AC_CROSS_ON_GOAL_LINE ) ID = 138 PRIORITY = 4 PATTERN_1 = "EVENT_CROSS$B*[ ( Player1, Flags, SET, BEHIND_PENBOX ) ]" PLAYER_1 = B PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT END // Corners BEGIN( AC_CORNER_KICK_LEFT ) ID = 5 PRIORITY = 2 PATTERN_1 = "EVENT_CORNER_TAKEN$B*[ ( Player1, Flags, SET, AT_LEFT_CORNER ) ]" PLAYER_1 = B PLAYER_B = CORNER_LEFT END BEGIN( AC_CORNER_KICK_RIGHT ) ID = 6 PRIORITY = 2 PATTERN_1 = "EVENT_CORNER_TAKEN$B*[ ( Player1, Flags, SET, AT_RIGHT_CORNER ) ]" PLAYER_1 = B PLAYER_B = CORNER_RIGHT END // Combos BEGIN( AC_HEADER_AFTER_HIGH_CROSS ) ID = 10 PRIORITY = 4 PATTERN_1 = "EVENT_PASS<FLAG_HEADED>$C*;EVENT_CROSS$BC{e8}[ ( Ball, Height, GE, 1.60 ) ]" PLAYER_1 = B PLAYER_2 = C PLAYER_C = HEADER PLAYER_B = CROSSES_LEFT, CROSSES_RIGHT END BEGIN( AC_SHOT_AND_SAVE ) ID = 11 PRIORITY = 4 PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_SHOT<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1" PLAYER_1 = B PLAYER_2 = X PLAYER_X = GOALKEEPER PLAYER_B = ATTACKER END BEGIN( AC_HEADER_AND_SAVE ) ID = 12 PRIORITY = 5 PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_SHOT<FLAG_GK_SAVE|FLAG_HEADED>$B*{t10}:>GDIST=Player1" PLAYER_1 = B PLAYER_2 = X PLAYER_X = GOALKEEPER PLAYER_B = HEADER END BEGIN( AC_DIRECT_FREE_KICK_AND_SAVE ) ID = 13 PRIORITY = 2 PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_FREEKICK_SHOT<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1" PLAYER_1 = B PLAYER_2 = X PLAYER_X = GOALKEEPER PLAYER_B = DIRECT_FREE_KICK END BEGIN( AC_PENALTY_AND_SAVE ) ID = 14 PRIORITY = 2 PATTERN_1 = "EVENT_GK_SAVE$X*;EVENT_PENALTYKICK<FLAG_GK_SAVE>$B*{t10}:>GDIST=Player1" PLAYER_1 = B PLAYER_2 = X PLAYER_X = GOALKEEPER PLAYER_B = PENALTY_TAKER END BEGIN( AC_DRIBBLING_AND_PASS ) ID = 15 PRIORITY = 2 PATTERN_1 = "EVENT_PASS$BA;EVENT_DRIBBLE$B*{e4}" PLAYER_1 = B PLAYER_2 = C PLAYER_A = ATTACKING_MIDFIELDER PLAYER_B = DEFENDING_MIDFIELDER END BEGIN( AC_DRIBBLING_AGAINST_DEFENDER ) ID = 16 PRIORITY = 3 PATTERN_1 = "EVENT_DRIBBLE$B*[ ( ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=1stClosestOppPlayerToPlayer1" PLAYER_1 = B PLAYER_2 = Y PLAYER_B = DRIBBLING PLAYER_Y = CENTRAL_DEFENDER END BEGIN( AC_PASS ) ID = 17 PRIORITY = 1 PATTERN_1 = "EVENT_PASS<FLAG_SUCCESSFUL>$B*" PLAYER_1 = A PLAYER_2 = B PLAYER_B = ATTACKING_MIDFIELDER END BEGIN( AC_FORWARD_PASS ) ID = 18 PRIORITY = 2 PATTERN_1 = "EVENT_PASS$B*<FLAG_DIRECTION_FORWARD>" PLAYER_1 = B PLAYER_B = ATTACKING_MIDFIELDER END BEGIN( AC_FORWARD_PASS_AGAINST_DEFENDER ) ID = 19 PRIORITY = 3 PATTERN_1 = "EVENT_PASS$B*<FLAG_DIRECTION_FORWARD>[ ( ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1" PLAYER_1 = B PLAYER_2 = Y PLAYER_B = ATTACKING_MIDFIELDER PLAYER_Z = DEFENDING_MIDFIELDER END BEGIN( AC_ONE_TWO_ONE ) ID = 20 PRIORITY = 4 PATTERN_1 = "EVENT_PASS$BA;EVENT_PASS$AB{e4}" PLAYER_1 = A PLAYER_2 = B PLAYER_A = ATTACKER PLAYER_B = ATTACKING_MIDFIELDER END BEGIN( AC_LONG_BALL ) ID = 21 PRIORITY = 2 PATTERN_1 = "EVENT_PASS$B*[ ( Ball, Length, GE, 40.0 )]" PLAYER_1 = B PLAYER_B = ATTACKING_MIDFIELDER END //----------------------------------------------------------------------------- // Actions //----------------------------------------------------------------------------- // Shots BEGIN( AC_SHOT ) ID = 24 PRIORITY = 1 PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, LE, 16.0 ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_SHOT_AGAINST_DEFENDER ) ID = 25 PRIORITY = 2 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_LOW_SHOT ) ID = 26 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_LOW_SHOT_AGAINST_DEFENDER ) ID = 27 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_HIGH_SHOT ) ID = 28 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_HIGH_SHOT_AGAINST_DEFENDER ) ID = 29 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_BOUNCING_SHOT ) ID = 30 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, BOUNCE ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_DISTANCE_SHOT ) ID = 31 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, GEQ, 16.0 ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_LOW_DISTANCE_SHOT ) ID = 32 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_HIGH_DISTANCE_SHOT ) ID = 33 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_HUGE_DISTANCE_SHOT ) ID = 34 PRIORITY = 6 PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, DistanceToOppGoal, GEQ, 35.0 ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_SHOT_LEFT ) ID = 81 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_SHOT_LEFT_AGAINST_DEFENDER ) ID = 82 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER PLAYER_2 = Y END BEGIN( AC_SHOT_RIGHT) ID = 87 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 88 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Y=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER PLAYER_2 = Y END BEGIN( AC_LOW_SHOT_LEFT ) ID = 83 PRIORITY = 6 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_LOW_SHOT_LEFT_AGAINST_DEFENDER ) ID = 84 PRIORITY = 7 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_LOW_SHOT_RIGHT ) ID = 89 PRIORITY = 6 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_LOW_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 90 PRIORITY = 7 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_HIGH_SHOT_LEFT ) ID = 85 PRIORITY = 6 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_HIGH_SHOT_LEFT_AGAINST_DEFENDER ) ID = 86 PRIORITY = 7 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END BEGIN( AC_HIGH_SHOT_RIGHT ) ID = 91 PRIORITY = 6 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_HIGH_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 92 PRIORITY = 7 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, LE, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = ATTACKER PLAYER_Z = CENTRAL_DEFENDER END // Distance shots with direction BEGIN( AC_DISTANCE_SHOT_LEFT ) ID = 93 PRIORITY = 8 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_DISTANCE_SHOT_RIGHT ) ID = 99 PRIORITY = 8 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_LOW_DISTANCE_SHOT_LEFT ) ID = 95 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_LOW_DISTANCE_SHOT_RIGHT ) ID = 101 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_HIGH_DISTANCE_SHOT_LEFT ) ID = 97 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END BEGIN( AC_HIGH_DISTANCE_SHOT_RIGHT ) ID = 103 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.60 ) ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE END // Distance shots with direction against defender BEGIN( AC_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER ) ID = 94 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END BEGIN( AC_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 100 PRIORITY = 9 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END BEGIN( AC_LOW_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER ) ID = 96 PRIORITY = 10 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END BEGIN( AC_LOW_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 102 PRIORITY = 10 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.80 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END BEGIN( AC_HIGH_DISTANCE_SHOT_LEFT_AGAINST_DEFENDER ) ID = 98 PRIORITY = 10 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END BEGIN( AC_HIGH_DISTANCE_SHOT_RIGHT_AGAINST_DEFENDER ) ID = 104 PRIORITY = 10 PATTERN_1 = "EVENT_SHOT$A*[ ( ( Player1, DistanceToOppGoal, GEQ, 16.0 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.60 ) & ( _1stClosestOppPlayerToPlayer1, PositionSimple, IS, DEF ) & ( _1stClosestOppPlayerToPlayer1, Distance, LE, 1.0 ) ) ]:>Z=_1stClosestOppPlayerToPlayer1,GDIST=Player1" PLAYER_1 = A PLAYER_A = DISTANCE PLAYER_2 = Z PLAYER_Z = CENTRAL_DEFENDER, LEFT_DEFENDER, RIGHT_DEFENDER END // Headers BEGIN( AC_HEADER ) ID = 35 PRIORITY = 2 PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*:>GDIST=Player1" PLAYER_1 = A PLAYER_A = HEADER END BEGIN( AC_LOW_HEADER ) ID = 36 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*[ ( Ball, Height, LE, 0.80 ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = HEADER END BEGIN( AC_HIGH_HEADER ) ID = 37 PRIORITY = 4 PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*[ ( Ball, Height, GEQ, 1.60 ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = HEADER END BEGIN( AC_HEADER_AGAINST_DEFENDER ) ID = 38 PRIORITY = 5 PATTERN_1 = "EVENT_SHOT<FLAG_HEADED>$A*:>GDIST=Player1;EVENT_HEADER_WON$Az{e4}[ ( Player2, PositionSimple, IS, DEF ) ]" PLAYER_1 = A PLAYER_2 = Z PLAYER_A = HEADER PLAYER_Z = HEADER_DEFENDING END // Corners BEGIN( AC_DIRECT_CORNER_LEFT ) ID = 39 PRIORITY = 1 PATTERN_1 = "EVENT_CORNER_TAKEN$A*[ ( Player1, Flags, SET, AT_LEFT_CORNER ) ]" PLAYER_1 = A PLAYER_A = CORNER_LEFT END BEGIN( AC_DIRECT_CORNER_RIGHT ) ID = 40 PRIORITY = 1 PATTERN_1 = "EVENT_CORNER_TAKEN$A*[ ( Player1, Flags, SET, AT_RIGHT_CORNER ) ]" PLAYER_1 = A PLAYER_A = CORNER_RIGHT END // Free kicks BEGIN( AC_DIRECT_FREE_KICK ) ID = 41 PRIORITY = 1 PATTERN_1 = "EVENT_FREEKICK_SHOT$A*" PLAYER_1 = A PLAYER_A = DIRECT_FREE_KICK END BEGIN( AC_INDIRECT_FREE_KICK_ALL_SIDES ) ID = 7 PRIORITY = 2 PATTERN_1 = "EVENT_FREEKICK_PASS$A*" PLAYER_1 = A PLAYER_A = FREE_KICK_LEFT, FREE_KICK_RIGHT END BEGIN( AC_INDIRECT_FREE_KICK_SIDE ) ID = 8 PRIORITY = 3 PATTERN_1 = "EVENT_FREEKICK_PASS$A*[ ( ( Player1, Flags, SET, ON_LEFT_SIDE ) | ( Player1, Flags, SET, ON_RIGHT_SIDE ) ) ]" PLAYER_1 = A PLAYER_A = FREE_KICK_LEFT, FREE_KICK_RIGHT END BEGIN( AC_INDIRECT_FREE_KICK_CENTRE ) ID = 9 PRIORITY = 3 PATTERN_1 = "EVENT_FREEKICK_PASS$A*[ ( Player1, Flags, SET, ON_CENTER ) ]" PLAYER_1 = A PLAYER_A = FREE_KICK_LEFT, FREE_KICK_RIGHT END // Penalty kicks BEGIN( AC_PENALTY ) ID = 42 PRIORITY = 1 PATTERN_1 = "EVENT_PENALTYKICK$A*" PLAYER_1 = A PLAYER_A = PENALTY_TAKER END // Own goals BEGIN( AC_OWN_GOAL_GOALKEEPER ) ID = 45 PRIORITY = 2 PATTERN_1 = "EVENT_GOAL_SCORED<FLAG_GOAL_OWN_GOAL>$A*[ ( Player1, Position, IS, GK ) ]" PLAYER_1 = A PLAYER_A = GOALKEEPER END BEGIN( AC_OWN_GOAL_OUTFIELD_PLAYER ) ID = 46 PRIORITY = 2 PATTERN_1 = "EVENT_GOAL_SCORED<FLAG_GOAL_OWN_GOAL>$A*[ !( Player1, Position, IS, GK ) ]" PLAYER_1 = A PLAYER_A = CENTRAL_DEFENDER END // 1:1 against goal keeper BEGIN( AC_ONE_ON_ONE_AGAINST_GK ) ID = 48 PRIORITY = 16 PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]:>GDIST=Player1" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_ONE_ON_ONE_AGAINST_GK_DRIBBLE ) ID = 79 PRIORITY = 16 PATTERN_1 = "EVENT_DRIBBLE$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]" PLAYER_1 = A PLAYER_A = ATTACKER END BEGIN( AC_ONE_ON_ONE_AGAINST_GK_DRIBBLE_AND_SHOT ) ID = 80 PRIORITY = 18 PATTERN_1 = "EVENT_SHOT$A*[ ( Player1, Flags, SET, ONE_ON_ONE_WITH_GK ) ]:>GDIST=Player1;EVENT_DRIBBLE$A*" PLAYER_1 = A PLAYER_A = ATTACKER END // Misc BEGIN( AC_FOUL ) ID = 49 PRIORITY = 1 PATTERN_1 = "EVENT_FOUL$AB" PLAYER_1 = X PLAYER_2 = B PLAYER_A = WITH_FOUL, ATTACKER PLAYER_B = FOULED END BEGIN( AC_SUBSTITUTION ) ID = 50 PRIORITY = 100 PATTERN_1 = "EVENT_SUBSTITUTION$AB" PLAYER_1 = A PLAYER_2 = B PLAYER_A = SUBBED_OUT PLAYER_B = SUBBED_IN END BEGIN( AC_OFFSIDE ) ID = 51 PRIORITY = 100 PATTERN_1 = "EVENT_OFFSIDE$A*" PLAYER_1 = A PLAYER_A = ATTACKER END //----------------------------------------------------------------------------- // Results //----------------------------------------------------------------------------- // Goals BEGIN( AC_GOAL ) ID = 53 PRIORITY = 1 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_GK_MISTAKE ) ID = 54 PRIORITY = 2 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX;EVENT_GK_SAVE<FLAG_SHOT_MISSED>{e4}" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_RIGHT ) ID = 131 PRIORITY = 3 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( Ball, Flags, SET, RIGHT_SIDE )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_LEFT ) ID = 132 PRIORITY = 3 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( Ball, Flags, SET, LEFT_SIDE )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_RIGHT_LOW ) ID = 133 PRIORITY = 4 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.50 ) )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_LEFT_LOW ) ID = 134 PRIORITY = 4 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.50 ) )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_RIGHT_HIGH ) ID = 135 PRIORITY = 4 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.50 ) )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END BEGIN( AC_GOAL_LEFT_HIGH ) ID = 136 PRIORITY = 4 PATTERN_1 = "EVENT_GOAL_SCORED<~FLAG_GOAL_OWN_GOAL>$AX" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.50 ) )" PLAYER_1 = A PLAYER_2 = X PLAYER_A = ATTACKER PLAYER_X = GOALKEEPER END // Hits BEGIN( AC_POST ) ID = 55 PRIORITY = 2 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_SHOT:+FLAG_HIT_POST_OR_CROSSBAR-" END BEGIN( AC_BAR ) ID = 56 PRIORITY = 2 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_SHOT:+FLAG_HIT_POST_OR_CROSSBAR-" END // Saves BEGIN( AC_GK_SAVE_CATCHES_CROSS ) ID = 57 PRIORITY = 4 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END BEGIN( AC_GK_SAVE_VERY_GOOD ) ID = 58 PRIORITY = 3 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END BEGIN( AC_GK_SAVE_GOOD ) ID = 59 PRIORITY = 2 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END BEGIN( AC_GK_SAVE_CATCHES_EASY_SHOT ) ID = 60 PRIORITY = 1 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END BEGIN( AC_GK_SAVE_CLEARS_FOR_A_CORNER ) ID = 61 PRIORITY = 2 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END BEGIN( AC_GK_SAVE ) ID = 62 PRIORITY = 1 PATTERN_1 = "EVENT_GK_SAVE<FLAG_SUCCESSFUL>$X*" PLAYER_1 = X PLAYER_X = GOALKEEPER END // Misses BEGIN( AC_CLOSE ) ID = 63 PRIORITY = 2 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_RIGHT ) ID = 117 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_LEFT ) ID = 118 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_RIGHT_LOW ) ID = 119 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_LEFT_LOW ) ID = 120 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_RIGHT_HIGH ) ID = 121 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_LEFT_HIGH ) ID = 122 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, LE, 0.50 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_SIDE_OF_NET ) ID = 64 PRIORITY = 2 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, HIT_NET ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE ) ID = 65 PRIORITY = 2 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE ) ID = 66 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_CLOSE_OVER_THE_BAR ) ID = 67 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, LE, 0.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_OVER_THE_BAR ) ID = 68 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 2.0 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_FAR_OVER_THE_BAR ) ID = 69 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, Flags, SET, OVER_THE_BAR ) & ( Ball, DistanceToTarget, GEQ, 2.0 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_RIGHT ) ID = 105 PRIORITY = 2 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_LEFT ) ID = 106 PRIORITY = 2 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_RIGHT ) ID = 111 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_LEFT ) ID = 112 PRIORITY = 3 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_RIGHT_LOW ) ID = 107 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.8 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_LEFT_LOW ) ID = 108 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.8 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_RIGHT_HIGH ) ID = 109 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_WIDE_LEFT_HIGH ) ID = 110 PRIORITY = 4 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, INS_LO, 0.50, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, GE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_RIGHT_LOW ) ID = 113 PRIORITY = 6 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, LE, 0.8 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_LEFT_LOW ) ID = 114 PRIORITY = 6 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 0.8 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_RIGHT_HIGH ) ID = 115 PRIORITY = 6 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, RIGHT_SIDE ) & ( Ball, Height, GE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END BEGIN( AC_VERY_WIDE_LEFT_HIGH ) ID = 116 PRIORITY = 6 PATTERN_1 = "" CONDITION_MODIFIERS = "EVENT_SHOT:( ( Ball, Flags, SET, OFF_TARGET ) & ( Ball, DistanceToTarget, GEQ, 5.00 ) & ( Ball, Flags, SET, LEFT_SIDE ) & ( Ball, Height, LE, 1.5 ) )" PLAYER_2 = X PLAYER_X = GOALKEEPER END // Blocks BEGIN( AC_BLOCKED ) ID = 72 PRIORITY = 2 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_SHOT:+FLAG_BLOCKED-;EVENT_PASS:+FLAG_BLOCKED-" END BEGIN( AC_BLOCKED_FOR_CORNER ) ID = 123 PRIORITY = 4 PATTERN_1 = "EVENT_BALLOUT_CORNER" FLAG_MODIFIERS = "EVENT_SHOT:+FLAG_BLOCKED-;EVENT_PASS:+FLAG_BLOCKED-" END // Clearance BEGIN( AC_DEFENDER_CLEARS_WITH_SHOT ) ID = 73 PRIORITY = 1 PATTERN_1 = "EVENT_CLEARANCE$A*" PLAYER_1 = A PLAYER_A = CENTRAL_DEFENDER END BEGIN( AC_DEFENDER_CLEARS_WITH_HEADER ) ID = 74 PRIORITY = 2 PATTERN_1 = "EVENT_CLEARANCE<FLAG_HEADED>$A*" PLAYER_1 = A PLAYER_A = CENTRAL_DEFENDER END BEGIN( AC_CLEARS_FOR_CORNER_INSIDE_PENBOX ) ID = 129 PRIORITY = 3 PATTERN_1 = "EVENT_BALLOUT_CORNER$A*;EVENT_CLEARANCE$A*[ ( Player1, Flags, SET, IN_PENALTY_BOX ) ]" PLAYER_1 = A PLAYER_A = CENTRAL_DEFENDER END BEGIN( AC_CLEARS_FOR_CORNER_OUTSIDE_PENBOX ) ID = 130 PRIORITY = 3 PATTERN_1 = "EVENT_BALLOUT_CORNER$A*;EVENT_CLEARANCE$A*[ ( Player1, Flags, NOT_SET, IN_PENALTY_BOX ) ]" PLAYER_1 = A PLAYER_A = CENTRAL_DEFENDER END // Cards BEGIN( AC_NO_CARD ) ID = 75 PRIORITY = 0 PATTERN_1 = "" END BEGIN( AC_YELLOW_CARD ) ID = 76 PRIORITY = 1 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_FOUL:+FLAG_YELLOW_CARD-" END BEGIN( AC_SECOND_YELLOW_CARD ) ID = 77 PRIORITY = 2 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_FOUL:+FLAG_SECOND_YELLOW-" END BEGIN( AC_RED_CARD ) ID = 78 PRIORITY = 3 PATTERN_1 = "" FLAG_MODIFIERS = "EVENT_FOUL:+FLAG_RED_CARD-" END // UNDEFINED... //126 , Kick-off GK Bottom , 0, 1, 0 //127 , Kick-off GK Hand , 0, 1, 0 //128 , Throw-out GK , 0, 1, 0 // TODO: Define this... BEGIN( AC_KICK_OFF_GK_BOTTOM ) ID = 126 PRIORITY = 0 PATTERN_1 = "" FLAG_MODIFIERS = "" END // TODO: Define this... BEGIN( AC_KICK_OFF_GK ) ID = 127 PRIORITY = 0 PATTERN_1 = "" FLAG_MODIFIERS = "" END // TODO: Define this... BEGIN( AC_THROW_OUT_GK ) ID = 128 PRIORITY = 0 PATTERN_1 = "" FLAG_MODIFIERS = "" END END //----------------------------------------------------------------------------- BEGIN( __SCENES ) //----------------------------------------------------------------------------- // Standard match events //----------------------------------------------------------------------------- // Start 1st half BEGIN(TB_#392) PATTERN_1 = "EVENT_START_HALF<%1ST%>" END // End 1st half BEGIN(TB_#393) PATTERN_1 = "EVENT_END_HALF<%1ST%>" END // Start 2nd half BEGIN(TB_#394) PATTERN_1 = "EVENT_START_HALF<%2ND%>" END // End of match BEGIN(TB_#395) PATTERN_1 = "EVENT_END_MATCH" END // Penalty shoot out BEGIN(TB_#404) PATTERN_1 = "EVENT_START_HALF<%PSH%>" END END